/*-
 * #%L
 * kylo-install-inspector
 * %%
 * Copyright (C) 2017 - 2018 ThinkBig Analytics
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import { SERVER_API_URL } from '../../app.constants';

@Injectable()
export class ConfigService  {
    constructor(private http: Http) { }

    setPath(path: String, devMode: String): Observable<any> {
        console.log('set path');
        return this.http.post(SERVER_API_URL + 'api/configuration', {'uri': path, 'devMode': devMode}).map((res: Response) => res.json());
    }

    loadChecks(): Observable<any> {
        return this.http.get(SERVER_API_URL + 'api/inspection').map((res: Response) => res.json());
    }

    executeCheck(configurationId: String, inspectionId: String): Observable<any> {
        console.log('executeCheck conf.id=' + configurationId + ', check.id=' + inspectionId);
        return this.http.get(SERVER_API_URL + 'api/configuration/' + configurationId + '/' + inspectionId).map((res: Response) => res.json());
    }

}
